﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Data;
using System.Data.Common;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using System.Collections;

namespace Business.Entities
{
    public class Paciente
    {
       
        private string dni;
        private string nombre;
        private string apellidos;
        private int telefono;
        private string email;
        private string direccion;
        private string ciudad;
        private string provincia;
        private string sexo;
        private string obraSocial;

       
       


        private Data.Database.Paciente cadPaciente = new Data.Database.Paciente();
      


      


        public string DNI
        {
            get { return dni; }
            set { dni = value; }
        }
        public string Nombre
        {
            get { return nombre; }
            set { nombre = value; }
        }
        public string Apellidos
        {
            get { return apellidos; }
            set { apellidos = value; }
        }
        public int Telefono
        {
            get { return telefono; }
            set { telefono = value; }
        }
        public string Email
        {
            get { return email; }
            set { email = value; }
        }
        public string Direccion
        {
            get { return direccion; }
            set { direccion = value; }
        }
        public string Ciudad
        {
            get { return ciudad; }
            set { ciudad = value; }
        }
        public string Provincia
        {
            get { return provincia; }
            set { provincia = value; }
        }
      
        public string Sexo
        {
            get { return sexo; }
            set { sexo = value; }
        }
       
        
        public string ObraSocial
        {
            get { return obraSocial; }
            set { obraSocial = value; }
        }

        public bool ExistePacienteEN(string dni)
        {
            bool existe = false;
            existe = cadPaciente.ExistePaciente(dni);
            return existe;
        }

        public void AnyadirPaciente()
        {
            DataSet resultado = new DataSet();
            try
            {
               // string frase = ""; //si la frase que le pasamos esta vacia nos devolvera todos los resultados
                resultado = cadPaciente.ObtenerTablaPaciente();//frase);
                DataRow linea = resultado.Tables["Paciente"].NewRow();
                //linea[0] = ; para el recuadro eliminar
                //linea[1] = ; para el boton editar
                linea[0] =id_Personal;
                linea[1] = dni;
                linea[2] = nombre;
                linea[3] = apellidos;
                linea[4] = telefono;
                linea[5] = email;
                linea[6] = direccion;
                linea[7] = provincia;
                linea[8] = ciudad;
                linea[9] = sexo;
                linea[10] = ObraSocial;
                
               
                
                resultado.Tables["Paciente"].Rows.Add(linea);
                cadPaciente.AnyadirPaciente(resultado);
            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }

        public void EditarPaciente()
        {
            try
            {
                DataSet paciente = new DataSet();
                paciente = cadPaciente.ObtenerDatosPacienteConDni(dni);
                paciente.Tables["Paciente"].Rows[0][2] = nombre.ToString(); //el dni no se puede cambiar asique saltamos la posicion 0 que es del dni
                paciente.Tables["Paciente"].Rows[0][3] = apellidos.ToString();
                paciente.Tables["Paciente"].Rows[0][4] = telefono.ToString();
                paciente.Tables["Paciente"].Rows[0][5] = email.ToString();
                paciente.Tables["Paciente"].Rows[0][6] = direccion.ToString();
                paciente.Tables["Paciente"].Rows[0][7] = provincia.ToString();
                paciente.Tables["Paciente"].Rows[0][8] = ciudad.ToString();
                paciente.Tables["Paciente"].Rows[0][9] = sexo.ToString();
                paciente.Tables["Paciente"].Rows[0][10] = obraSocial.ToString();
                
                cadPaciente.EditarPaciente(paciente);


            }
            catch (Exception ex)
            {
                throw (ex);
            }
        }

        public DataSet ObtenerListaProvincias()
        {
            DataSet resultado = new DataSet();
            try
            {
                resultado = cadPaciente.ConseguirProvincias();
            }
            catch (Exception ex)
            {
                throw (ex);
            }
            return resultado;
        }


        public DataSet ObtenerListaPacientesConNombreApellido(string concatenado)
        {


            DataSet resultado = new DataSet();
            try
            {
                resultado = cadPaciente.ConseguirPacientesConNombreApellido(concatenado);
            }
            catch (Exception ex)
            {
                throw (ex);
            }
            return resultado;
        }
        public DataSet ObtenerListaPacientes()
        {


            DataSet resultado = new DataSet();
            try
            {
                resultado = cadPaciente.ConseguirPacientes();
            }
            catch (Exception ex)
            {
                throw (ex);
            }
            return resultado;
        }


        public DataSet ObtenerListaCiudades(string prov)
        {
            DataSet resultado = new DataSet();
            try
            {
                resultado = cadPaciente.ConseguirCiudades(prov);
            }
            catch (Exception ex)
            {
                throw (ex);
            }
            return resultado;
        }


     

        public DataSet ObtenerListaCiudades()
        {
            DataSet resultado = new DataSet();
            try
            {
                resultado = cadPaciente.ConseguirCiudades();
            }
            catch (Exception ex)
            {
                throw (ex);
            }
            return resultado;
        }

        public int id_Personal { get; set; }

      
       









            public DataSet ObtenerListaObraSocial()
            {
               
        
            DataSet resultado = new DataSet();
            try
            {
                resultado = cadPaciente.ConseguirObraSocial();
            }
            catch (Exception ex)
            {
                throw (ex);
            }
            return resultado;
        

            }

            public DataSet ObtenerDatosPaciente(string dni)
            {
                DataSet resultado = new DataSet();
                try
                {
                    resultado = cadPaciente.ObtenerDatosPacienteConDni(dni);
                }
                catch (Exception ex)
                {
                    throw (ex);
                }
                return resultado;
            }



    }
   }

